// app.js
import { promisifyAll } from 'miniprogram-api-promise'

// 异步API Promise化
const wxp = wx.p = {}
promisifyAll(wx, wxp)

/**
 * 整个小程序的生命周期钩子函数在App({...})方法中声明，顺序为：
 * 1.onLaunch
 * 小程序初始化完成时，执行此函数，全局只触发一次，可以做一些初始化工作；
 * 2.onShow 
 * 小程序启动，或从后台切换到前台显示时触发；
 * 3.onHide 
 * 小程序从前台进入后台时触发。
 */
App({
  // 
  onLaunch() {
    // 小程序加载时，可以从本地存储读取数据，并初始化到小程序内存中
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
  },
  globalData: {
    userInfo: null
  },
  // 后台切到前台
  onShow: function(options) {
    console.log('小程序进入前台')
  },
  // 前台切到后台
  onHide: function(options) {
    console.log('小程序隐藏到后台')
  }
})
